<!--
 * @Author: wuwle
 * @Date: 2021-07-16 15:45:48
 * @LastEditors: wuwle
 * @LastEditTime: 2021-07-16 15:55:20
 * @FilePath: \demo\复习\css\案例\flex\flex1.html
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <style type="text/css">
      .parent {
        display: flex;
        width: 600px;
      }
      .parent > div {
        height: 100px;
      }
      .item-1 {
        width: 140px;
        flex: 2 1 0%;
        background: blue;
      }
      .item-2 {
        width: 100px;
        flex: 2 1 auto;
        background: darkblue;
      }
      .item-3 {
        flex: 1 1 200px;
        background: lightblue;
      }
    </style>
  </head>
  <body>
    <!-- 1.父亲总宽度 600px
    2.子元素的总基准值是：0% + auto + 200px = 300px，其中
    - 0% 即 0 宽度
    - auto 对应取主尺寸即 100px  
    3.故剩余空间为 600px - 300px = 300px

    4.伸缩放大系数之和为： 2 + 2 + 1 = 5
    
    剩余空间分配如下：
    - item-1 和 item-2 各分配 2/5，各得 120px
    - item-3 分配 1/5，得 60px
    
    6.各项目最终宽度为：
    - item-1 = 0% + 120px = 120px
    - item-2 = auto + 120px = 220px
    - item-3 = 200px + 60px = 260px
    
    当 item-1 基准值取 0% 的时候，是把该项目视为零尺寸的，权重比元素的width大，故即便声明其尺寸为 140px，也并没有什么用，形同虚设
    而 item-2 基准值取 auto 的时候，根据规则基准值使用值是主尺寸值即 100px，故这 100px 不会纳入剩余空间   -->
    <div class="parent">
      <div class="item-1"></div>
      <div class="item-2"></div>
      <div class="item-3"></div>
    </div>
  </body>
</html>
